Often an organized collection of data, called a database, stores the most vital shared data accessed by computer users. The set of software that controls the organized data is called a Database Management System (DBMS). The DBMS allows data to be stored, organized, retrieved, manipulated, and reported. Many types of businesses use databases for data storage. Banks may store a record of all transactions for all account holders in a database. For instance, monthly statements of account holder transactions may be generated from data obtained from a database, listing transactions for each account holder. A library may store availability of books and the identity of a person who is checking out a number of books together with the titles checked out may be stored in a database. Hospitals may record in a database a variety of information related to patient care including, but not limited to, admission time, patient name, birth date, services performed, drugs administered, expected release date, orders and tasks.
A relational DBMS may be used as the database and represents data as being composed of a number of tables. Each table may include a number of rows and a number of columns. Rows are often referred to as records. Columns are sometimes referred to as attributes or fields. Tables as they are stored in the database may differ from tables that are generated and displayed as a collection of retrieved data. Thus it is possible to distinguish stored fields from displayed fields. In some instances displayed records are only a subset of available fields within a table. In other instances tables are joined together to display selected fields from two or more tables in one display.
Queries, or requests for information that satisfy certain specified criteria, are made of databases. Many popular systems use Structured Query Language (SQL) to form queries that are compatible with the DBMS. Different commercially available databases such as Microsoft SQL Server, Oracle, and DB2 may provide query language functions as part of a supported SQL. While the query as it is presented to the DBMS is typically compatible with the query language of the database vendor, the user software that generates the query spans a wide range of data uses, and so takes on many presentation forms. A user may write his own queries manually in SQL, or intermediate software may translate user indications of desired results into a SQL compatible query. This intermediate software may allow the unsophisticated user to form ad hoc queries or to request formatted reports that in turn get translated into one or more queries.
The trend toward less skilled users querying databases has increased as use of the Internet has proliferated in recent years. Processes that were once performed by skilled computer operators are routinely performed by a customer when a web form, which is displayed in a browser, is completed and returned. Data which is stored in a backend database server must make its way through a network of one or more intermediate servers to a client machine. Users make data requests at the client level and data is retrieved through a loop that extends to the database server.
Currently, any inefficiencies anywhere in the system when a query occurs causes delay to the end user. Users are typically not capable of understanding or mitigating poor responsiveness. Furthermore, many users require information that is current at the time data is requested by the client. For example, in a healthcare environment, medical records for patients must be provided in a timely and efficient manner to a user, such as a healthcare provider. It is unsafe in many settings, such as a healthcare environment, to provide old data, or to have an extended period with a caregiver waiting for the database to become available, finish the operation, or for data to be transferred.